#include "StdAfx.h"
#include "TEntradaDinamica.h"


	TEntradaDinamica::TEntradaDinamica()
	{
		_entrada = new TPareja<string, TSecuenciaDinamica<string>* >();
		_entrada->ponV2(new TSecuenciaDinamica<string>());
	}

	TEntradaDinamica::TEntradaDinamica(const TEntradaDinamica& entrada)
	{
		libera();
		copia(entrada);
	}

	TEntradaDinamica::~TEntradaDinamica()
	{
		libera();
	}
	const TEntradaDinamica& TEntradaDinamica::operator=(const TEntradaDinamica& entrada)
	{
		libera();
		copia(entrada);
		return *this;
	}

	void TEntradaDinamica::nuevaDefinicion(const string& definicion)
	{
		_entrada->v2()->inserta(definicion);
	}

	const string& TEntradaDinamica::consultaPalabra() const
	{
		return _entrada->v1();
	}

	const TSecuenciaDinamica<string>& TEntradaDinamica::consultaDefiniciones() const
	{
		return *_entrada->v2();
	}

	void TEntradaDinamica::libera()
	{
		delete _entrada;
	}

	void TEntradaDinamica::copia(const TEntradaDinamica& entrada)
	{
		TSecuenciaDinamica<string>* definiciones = new TSecuenciaDinamica<string>(entrada.consultaDefiniciones());

		_entrada = new TPareja<string, TSecuenciaDinamica<string>* >(entrada.consultaPalabra(),definiciones);
	}
